package modelos.pojos;

import modelos.daos.ReservaDAO;
import modelos.daos.SalaEventosDAO;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;

public class ReservaSala {

    //Atributos propios de la clase
    private int id;
    private String descripcion;
    private String horaInicio;
    private String horaFin;
    private char estado;
    private Date fechaProg;

    //Atributos de la relacion
    private Reserva reserva;
    private SalaEventos sala;

    public ReservaSala() {
        estado = 'a';
    }

    public ReservaSala(Reserva reserva, Date fechaProg, String horaInicio, String horaFin, String descripcion, SalaEventos sala) {
        this.reserva = reserva;
        this.fechaProg = fechaProg;
        this.horaInicio=horaInicio;
        this.horaFin=horaFin;
        this.descripcion = descripcion;
        this.sala = sala;
        this.estado = 'a';
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public char getEstado() {
        return estado;
    }

    public void setEstado(char estado) {
        this.estado = estado;
    }

    public Date getFechaProg() {
        return fechaProg;
    }

    public void setFechaProg(Date fechaProg) {
        this.fechaProg = fechaProg;
    }

    public Reserva getReserva() {
        return reserva;
    }

    public void setReserva(Reserva reserva) {
        this.reserva = reserva;
    }

    public SalaEventos getSala() {
        return sala;
    }

    public void setSala(SalaEventos sala) {
        this.sala = sala;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getHoraFin() {
        return horaFin;
    }

    public void setHoraFin(String horaFin) {
        this.horaFin = horaFin;
    }

    public String getHoraInicio() {
        return horaInicio;
    }

    public void setHoraInicio(String horaInicio) {
        this.horaInicio = horaInicio;
    }

    public static ReservaSala cargarDatos(ResultSet in) throws SQLException {
        ReservaSala out = new ReservaSala();
        out.setId(in.getInt(1));
        out.setSala(SalaEventosDAO.consultar(in.getString(10)));
        out.setReserva(ReservaDAO.consultar(in.getString(11)));
        out.setFechaProg(in.getDate(4));
        out.setHoraInicio(in.getString(5));
        out.setHoraFin(in.getString(6));
        out.setDescripcion(in.getString(7));
        out.setEstado(in.getString(8).charAt(0));
        return out;
    }

    @Override
    public String toString() {
        return "ReservaSala{" + "id=" + id + ", descripcion=" + descripcion + ", horaInicio=" + horaInicio + ", horaFin=" + horaFin + ", estado=" + estado + ", fechaProg=" + fechaProg + ", reserva=" + reserva + ", sala=" + sala + '}';
    }
    
}
